feat: Increase the presence of the Chinese language and multilingual capabilities - #18
feat: Increase the presence of the Chinese language and multilingual capabilities#18biliblihuorong wants to merge 11 commits into
Conversation
There was a problem hiding this comment.
I reviewed the implementation and ran the verification suite. The localization direction is fine, but the current revision is not ready to merge.
The main issues to address are:
- CI currently fails because several changed files do not pass Prettier. Please format the changes and make sure the complete
pnpm verifycommand passes. - Language switching currently remounts the entire application through the app-wide
{#key ...}block. Please use reactive localization state so changing the language does not reset application UI state. - The Total Spend metric selector now uses the incorrect accessible name, "Show Total Spend", which also breaks two frontend tests. It needs a separate translation key.
- Persisted locale values need validation and a safe English fallback. The UI should also avoid mixed Chinese and English sentence fragments.
- The localization tests should verify actual switching and fallback behavior rather than only checking source-code strings.
- Cache the locale-specific
Intl.NumberFormatinstances instead of recreating them for every formatting call. - Revert the
0.3.3to0.3.4version changes; release versioning is handled separately by the maintainer.
Please update the PR and ensure the full CI suite passes before the next review.
|
Hi @deviffyy I’ve merged the latest upstream The previous review feedback has been addressed in the latest revisions. The updated CI workflow is currently awaiting maintainer approval. Could you please approve the workflow when convenient? Once the checks complete, I’d appreciate another review. Regarding the question you raised earlier, I'm very sorry that I mistakenly incremented the version number. At that time, the local Windows system already had the software that was supposed to run the AI, and I forgot to correct it and simply reverted it back. |
|
Thanks for the update. I approved the workflow and reviewed the latest revision. The previous review items have been resolved. A few issues still need to be addressed before merge:
Windows CI passes. Ubuntu hit what appears to be an unrelated flaky timing test. Please update the PR and add targeted tests for the locale and native mapping cases above; I’ll review it again once CI completes. |
deviffyy
left a comment
There was a problem hiding this comment.
Thanks for the update. This is getting closer, but there are still a few things to fix before we can merge it:
- Usage source detection still parses the English
sourceNotetext, and some source notes are still rendered directly. Source semantics should come from typed backend data rather than display text. - The frontend and native layer resolve the system language separately, so they can end up using different languages on macOS or Linux. The resolved language should have a single source of truth.
- The reset date calculation compares UTC days while displaying local time, which can show the wrong "Today" or "Tomorrow" label around midnight. Please preserve the local calendar-day behavior and cover the timezone boundaries with tests.
- Metric labels are inferred from their ID suffixes. This already changes "Extra Balance" to "Extra Usage" and leaves labels such as "Daily" and "Monthly" untranslated. These should use explicit typed semantics rather than suffix inference.
- The remaining OpenQuota-owned UI text should go through the localization catalog. Provider- or user-supplied values do not need to be translated.
These are the remaining blockers for this PR. Once they are fixed and CI passes on Windows, macOS, and Linux, we can review it again.
|
Thanks for sticking with this. The latest revision is much closer, but the localization contract still uses string translation keys between Rust and the frontend, and the System language option is not reliable on macOS. A few app-owned labels also remain untranslated. Please address these in one focused revision and make sure CI passes on Windows, macOS, and Linux. Once that’s done, I’ll do a final review. |
Added multilingual support and expanded the availability of simplified Chinese and traditional Chinese.